package com.jic.member.request;

import com.jic.common.base.vo.AdminOperate;
import com.jic.common.base.vo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Setter
@Getter
@Data
@ToString
public class EditMememberIntegralRuleRequest extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(notes = "操作信息")
    private AdminOperate adminOperate;

    @ApiModelProperty(notes = "会员积分规则主表ID")
    private Long ruleId;
    @ApiModelProperty(notes = "所属平台")
    private String deptName;
    @ApiModelProperty(notes = "规则编号")
    private String ruleNum;
    @ApiModelProperty(notes = "所属组织ID")
    private Long deptId;
    @ApiModelProperty(notes = "规则名称")
    private String ruleName;
    @ApiModelProperty(notes = "规则类型:积分获取积分消耗")
    private String ruleType;
    @ApiModelProperty(notes = "获取方式:下单赠送注册赠送评价赠送充值赠送分享赠送点赞赠送晒单赠送收藏赠送")
    private String obtainMode;
    @ApiModelProperty(notes = "消耗方式:消费抵现兑换优惠券兑换红包兑换产品功能兑换付费内容")
    private String consumeMode;
    @ApiModelProperty(notes = "创建日期")
    private Date createTime;
    @ApiModelProperty(notes = "创建用户ID")
    private Long creator;
    @ApiModelProperty(notes = "创建用户")
    private String creatorName;
    @ApiModelProperty(notes = "更新时间 数据库")
    private Date updateTime;
    @ApiModelProperty(notes = "更新用户ID")
    private Long updatorId;
    @ApiModelProperty(notes = "更新用户")
    private String updatorName;
    @ApiModelProperty(notes = "状态 1:启用 0:停用")
    private Integer status;
    @ApiModelProperty(notes = "0删除 1未删除")
    private Integer deleteFlag;
    @ApiModelProperty(notes = "开始日期")
    private Date startTime;
    @ApiModelProperty(notes = "结束日期")
    private Date endTime;
    //发放成长值
    private Long giveGrowthVal;
    @ApiModelProperty(notes = "消费标示1：单次消费2：阶梯性消费")
    private Integer consumeFlag;
    @ApiModelProperty(notes = "消费标示1：单次消费2：阶梯性消费")
    private Integer orderFlag;
    @ApiModelProperty(notes = "赠送积分")
    private BigDecimal giveIntegralNum;
    @ApiModelProperty(notes = "赠送积分每日上限")
    private BigDecimal giveIntegralMaxNum;
    @ApiModelProperty(notes = "评价赠送成长值")
    private BigDecimal giveGrowthNum;
    @ApiModelProperty(notes = "评价赠送成长值每日上限")
    private BigDecimal giveGrowthMaxNum;
    @ApiModelProperty(notes = "是否带图 1有图 2有图 3all")
    private Integer flag;
    @ApiModelProperty(notes = "有图成长值")
    private BigDecimal havePictureGiveGrowthNum;
    @ApiModelProperty(notes = "无图成长值")
    private BigDecimal notPictureGiveGrowthNum;
    @ApiModelProperty(notes = "有图片上限")
    private BigDecimal havePictureMaxNum;
    @ApiModelProperty(notes = "无图片上限")
    private BigDecimal notPictureMaxNum;
    @ApiModelProperty(notes = "赠送类型1:下单赠送2:充值赠送")
    private Integer giveType;
    @ApiModelProperty(notes = "赠送类型名称:下单 充值")
    private String giveTypeName;
    @ApiModelProperty(notes = "每消费/每充值数单位元")
    private BigDecimal consumeNum;
    @ApiModelProperty(notes = "阶段性消费/阶梯形充值数单位元")
    private String phasedConsumeNum;
    @ApiModelProperty(notes = "阶段性消费/阶梯形充值数单位元")
    private List<MememberIntegraIncrement> mememberIntegraIncrement;
    //消耗积分上限
    @ApiModelProperty(notes = "消耗积分上限")
    private BigDecimal consumeIntegralMaxNum;
    //兑换类型1：比例兑换2：固定数额兑换
    private Integer exchangeType;
    //兑换类型名称 比例兑换 固定数额兑换
    private String exchangeName;
    //兑换金额
    private BigDecimal exchangeMoney;
    //兑换积分
    private BigDecimal exchangeIntegral;
    //兑换优惠券或红包编号
    private String exchangeCouponRedEnvelopes;
    //消耗积分数
    private BigDecimal consumeIntegralNum;
    //是否有图
    @ApiModelProperty(notes = "店铺/普通会员")
    private Integer storeMember;


}
